package com.briup.corejava.day17;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件流的应用：文件复制
 */
public class Test5 {
    public static void main(String[] args) {
        // 1、选择流：文件流字符流
        // 因为要拿到一个文件的内容写入到另外一个文件，输入输出
        FileInputStream fis = null;
        FileOutputStream fos = null;
        // 2、创建流
        try {
            fis = new FileInputStream("src/com/briup/corejava/day17/file/a.txt");
            fos = new FileOutputStream("src/com/briup/corejava/day17/file/b.txt");

            // 3、使用流
            // 准备byte数组用于批量读取
            byte[] b = new byte[1024];
            int len = -1;
            while((len = fis.read(b))!=-1){
                // 将读到的内容直接写出去即可
                fos.write(b,0,len);
            }
            System.out.println("数据写出完毕...");


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            if(fis!=null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            if(fos!=null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }
}
